package com.linq.cool.common.core.domain;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * @Author: yqlin
 * @Date: 2021/1/28 10:44
 * @Description: 基础数据传输兑现g
 * @Version: 1.0.0
 */
@Data
@Accessors(chain = true)
public class BaseDTO<T> implements Serializable {
    /**
     * 当前页
     */
    private Long current;
    /**
     * 每页显示数量
     */
    private Long size;
    /**
     * 数据权限过滤的时候使用
     * 以及传入beginTime和endTime的时候会用到
     */
    private Map<String, Object> params;

    /**
     * 封装分页对象
     *
     * @return 分页对象
     */
    public IPage<T> getPage() {
        return new Page<T>().setCurrent(this.current).setSize(this.size);
    }

    public Map<String, Object> getParams() {
        if (params == null) {
            params = new HashMap<>(2);
        }
        return params;
    }
}
